Atomic Commit In SQLite
Atomic Commit In SQLite
セクターへの書き込みが
アトミックではないことを従来から想定
そして、「線形」であることを想定
線形:セクターへの書き込み時にハードウェアがデータの一方の端から開始し、もう一方の端に到達するまでバイトごとに書き込みを行うということ。
もし、セクター書き込みの途中で電源障害が発生した場合、セクターの一部が変更され、別の部分は変更されないままになるケースがある
ここでの想定:セクターの一部が変更されると、最初のバイトまたは最後のバイトが変更される。
データ書き込みは線形であり、セクターの書き込みを中間から開始して、末尾に向かって作業することはない。
割と妥当な戦略?